2015.02.09


In [1]:
# Standard setup block for running Python code
from __future__ import division, print_function
import os
if os.path.split(os.getcwd())[-1] == "Lab notebooks":
    os.chdir("../../")
    print("Moved to experiment root directory")
from Modules.processing import *
from Modules.plotting import *
plt.style.use("Config/plotstyle.mplstyle")
%matplotlib inline


Moved to experiment root directory

Daily checklist

  • Check tank depth and correct if necessary.
  • Home turbine axis.
  • Home tow axis.
  • Home y-axis.
  • Home z-axis.
  • Wipe any corrosion from turbine mounting frame.
  • Seed and mix tank until Vectrino SNR is approximately 12 dB.

Got to the lab about 12:20 PM.

Homed turbine, tow, y-, and z-axes.

First order of business today is to see if we can tune the servo to reduce belt resonance. From previous measurements, it looks like a smooth run is has a tow speed standard deviation of 0.004, and a resonating run around an order of magnitude higher.

Going to try lowering the acceleration of the carriage--did not help much, if at all.

Tried tuning the servo drive a bit, without a whole lot of luck. Increased Kp_v from 6 to 10, and feedback bandwidth from 300 to 600. See https://github.com/UNH-OE/tow-tank/commit/9f957b71c3bcd111feb0c8fa05b1c93560e2bb4a

3:40 PM -- Wiped corrosion off turbine mounting frame. Turbine looks like it has some patches of discoloration, which may be small amounts of the grease used for assembly.

3:50 PM -- Added a cup of seeding to the tank.

3:53 PM -- Starting Perf-tsr_0.

5:41 PM -- Vectrino had an error on Perf-tsr_0 run 20. Redoing.

7:13 PM -- Starting a duplicate of Perf-tsr_0 called Perf-tsr_0-b.

8:52 PM -- Adding another cup of seeding to the tank.

9:00 PM -- Continuing Perf-tsr_0-b at run 18.

10:45 PM -- Ending for tonight.


In [11]:
Section("Perf-tsr_0-b").process(nproc=4, nruns="all")
Section("Perf-tsr_0").process(nproc=4, nruns="all")

In [12]:
df = pd.read_csv("Data/Processed/Perf-tsr_0.csv")
df = df.append(pd.read_csv("Data/Processed/Perf-tsr_0-b.csv"), ignore_index=True)
df = df[df.tow_speed_nom > 0.21]

df = df.groupby("tow_speed_nom").mean()

re = df.mean_tow_speed*D/nu
# x = re
x = df.mean_tow_speed
# plt.plot(x, df.mean_cd, "o")
plt.errorbar(x, df.mean_cp, fmt="o", yerr=df.exp_unc_cp)
# plt.ylim((0.16, 0.39))
plt.xlabel("Tow speed (m/s)")
plt.ylabel("$C_P$")
plt.show()



In [15]:
r = Run("Perf-tsr_0-b", 14)
plt.plot(r.time_ni_all, r.torque_all)
plt.show()



In [5]:
nrun = 12

r1 = Run("Perf-0.4", nrun)
print("Nominal TSR:", r1.tsr_nom)
print(r1.std_u_enc)

r2 = Run("Perf-0.8", nrun)
print(r2.std_u_enc)

r3 = Run("Perf-1.0", nrun)
print(r3.std_u_enc)

r4 = Run("Perf-1.2", nrun)
print(r4.std_u_enc)

plt.plot(r3.time_ni_all, r3.drag_all)
plt.show()


Nominal TSR: 3.1
0.00272022958289
0.00206851188994
0.00307929010853
0.00765769914301

Acquiring more performance curves


In [6]:
# s = Section("Perf-1.0")
# s.process(nproc=1, nruns="all")
# %matplotlib qt
plt.figure(figsize=(9,6))
PerfCurve(0.4).plotcp(newfig=False, show=False, marker="v")
PerfCurve(0.6).plotcp(newfig=False, show=False, marker="s")
PerfCurve(0.8).plotcp(newfig=False, show=False, marker=">")
PerfCurve(1.0).plotcp(newfig=False, show=False, marker="o")
# PerfCurve(1.2).plotcp(newfig=False, show=False, marker="^")
# cactus = pd.read_csv("Data/Processed/CACTUS-temp.csv")
# plt.plot(cactus.mean_tsr, cactus.mean_cp, "--ob", label="CACTUS (2 m/s)")
plt.legend(loc=4)
# plt.savefig("Figures/CACTUS-compar-prelim.png")
plt.show()



In [7]:
Run("Settling", 9).mean_cp


Out[7]:
0.38436311391411193